4、移动距离

题目 移动距离

image-67a42bdf

思路分析

画图模拟找规律

距离等于\(|row2-row1|+|col2-col1|\)

将从1开始统一成从0开始 方便计算距离

横:楼号/宽度 纵:if(奇数行) 宽度-1-(楼号%宽度) else if(偶数行) 楼号%宽度

代码实现

#include<bits/stdc++.h>

using namespace std;

int main()

{

	int w,m,n;

	cin>>w>>m>>n;

	m--,n--;

	int col1,row1,col2,row2;

	col1=m/w;

	row1=m%w;

	if(col1&1)

		row1=w-1-row1;

	col2=n/w;

	row2=n%w;

	if(col2&1)

		row2=w-1-row2;

	cout<<abs(row2-row1)+abs(col2-col1);

	return 0;

 }

同类题型

视频讲解


⬅️ 3、三羊献瑞 🏠 00-刷题理模型 ➡️ 5、垒骰子